plotly를 활용한 sankey diagramplotly는 ggplot2와 같이 그래프, 플롯을 생성할 때 사용하는 패키지로 최근 많이 사용된다. ggplot2는 정적(Static)한 그래프나 플롯을 생성하지만 plotly는 기본적으로 반응형(interactive) 그래프가 그려고 ggplot2에 버금가는 상세 설정이 가능하다는 장점이 있다.
library(plotly)
plot_ly(type = 'sankey', ##plotly로 생성하는 그래프의 형태 설정
orientation = 'h', ##방향설정으로 h(orizental)
node = list( ## 노드 설정
label = c(from, to), ## 노드의 이름 설정
color = c(rep('red', 3), rep('blue', 5)), ## 각 노드의 색 설정
pad = 5, ## 노드간의 떨어진 거리 설정
thickness = 30, ## 노드 상자의 두께 설정'
## 노드 상자의 테두리 설정
line = list(color = 'black', width = 0.5)
),
## 노드 링크 정보 설정
link = list(
source = c(rep(0, 5), rep(1, 5), rep(2, 5)),
target = c(rep(3:7, 3)),
## 노드 데이터 정보
value = sankey$학생수
),
textfont = list(size = 12) ## 노드 이름의 크기 설정
)